cmake_minimum_required(VERSION 3.5.1)
cmake_policy(SET CMP0048 NEW)
project(assisted_teleop)

##############################################################################
# Find dependencies
##############################################################################

set(THIS_PACKAGE_ROS_DEPS
        tf2_ros
        costmap_2d
        roscpp
        roslib
        geometry_msgs
        move_base_msgs
        actionlib
        message_filters
        base_local_planner
        angles
        pluginlib
        sensor_msgs
        filters
        )

find_package(catkin REQUIRED COMPONENTS ${THIS_PACKAGE_ROS_DEPS})
find_package(Eigen3 REQUIRED)

include_directories(
        include
        ${catkin_INCLUDE_DIRS}
        ${EIGEN3_INCLUDE_DIRS}
)

##############################################################################
# Define package
##############################################################################

catkin_package(
        INCLUDE_DIRS include
        LIBRARIES laser_scan_max_range_filter
        CATKIN_DEPENDS ${THIS_PACKAGE_ROS_DEPS}
        DEPENDS EIGEN3
)

##############################################################################
# Build
##############################################################################

add_executable(assisted_teleop src/assisted_teleop.cpp)
target_link_libraries(assisted_teleop ${catkin_LIBRARIES})

add_library(laser_scan_max_range_filter src/max_range_filter.cpp)
target_link_libraries(laser_scan_max_range_filter ${catkin_LIBRARIES})

##############################################################################
# Install
##############################################################################

install(TARGETS assisted_teleop laser_scan_max_range_filter
        ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
        )

install(DIRECTORY include/${PROJECT_NAME}/
        DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
        FILES_MATCHING PATTERN "*.h"
        )

install(FILES filter_plugins.xml
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
        )

install(DIRECTORY launch
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
        )
